﻿//using Microsoft.AspNetCore.Http;
//using Microsoft.AspNetCore.Mvc.ModelBinding;
//using System;
//using System.Collections.Generic;
//using System.Text;
//using System.Threading.Tasks;

//namespace Xf.MvcTag.UIExt.DataTables
//{
//    /// <summary>
//    /// 自定义模型绑定
//    /// </summary>
//    public class DataTablesModelBinder : IModelBinder
//    {
//        public Task BindModelAsync(ModelBindingContext bindingContext)
//        {
//            if (bindingContext == null)
//            {
//                throw new ArgumentNullException(nameof(bindingContext));
//            }

//            var modelName = bindingContext.ModelName;
//            // Try to fetch the value of the argument by name
//            var valueProviderResult =
//                bindingContext.ValueProvider.GetValue(modelName);
            
//            IQueryCollection query = bindingContext.HttpContext.Request.Query;
//            if (query.ContainsKey("Draw"))
//            {
//                string draw = query["Draw"];
//                //TODO 高级搜索/排序等
//                //字段参考：https://www.cnblogs.com/chiakiyu/p/5436899.html
//            }

//            if (valueProviderResult == ValueProviderResult.None)
//            {
//                return Task.CompletedTask;
//            }

//            bindingContext.ModelState.SetModelValue(modelName,
//                valueProviderResult);

//            var value = valueProviderResult.FirstValue;
//            var model = new DataTablesAjaxPostModel() { Draw = 5656 };
//            bindingContext.Result = ModelBindingResult.Success(model);
//            return Task.CompletedTask;
//        }
//    }
//}
